
using Nop.Core;
using Nop.Core.Domain.XJ;
using System.Collections.Generic;

namespace Nop.Services.XJ
{
	/// <summary>
	/// XJMaintenanceDetail service
	/// </summary>
	public partial interface IXJMaintenanceDetailService
	{
		/// <summary>
		/// Gets all XJMaintenanceDetails
		/// </summary>
		/// <returns>XJMaintenanceDetail</returns>
		IList<XJMaintenanceDetail> GetAllXJMaintenanceDetails();

		IList<XJMaintenanceDetail> GetXJMaintenanceDetails(int maintenanceId);

		IPagedList<XJMaintenanceDetail> GetXJMaintenanceDetails(int maintenanceId, int pageIndex = 0, int pageSize = int.MaxValue);

		/// <summary>
		/// Gets a XJMaintenanceDetail 
		/// </summary>
		/// <param name="xJMaintenanceDetailId">XJMaintenanceDetail identifier</param>
		/// <returns>XJMaintenanceDetail</returns>
		XJMaintenanceDetail GetXJMaintenanceDetailById(int xJMaintenanceDetailId);

		/// <summary>
		/// Inserts a XJMaintenanceDetail
		/// </summary>
		/// <param name="xJMaintenanceDetail">XJMaintenanceDetail</param>
		void InsertXJMaintenanceDetail(XJMaintenanceDetail xJMaintenanceDetail);

		/// <summary>
		/// Updates the XJMaintenanceDetail
		/// </summary>
		/// <param name="xJMaintenanceDetail">XJMaintenanceDetail</param>
		void UpdateXJMaintenanceDetail(XJMaintenanceDetail xJMaintenanceDetail);

		/// <summary>
		/// Deletes a XJMaintenanceDetail
		/// </summary>
		/// <param name="XJMaintenanceDetail">XJMaintenanceDetail</param>
		void DeleteXJMaintenanceDetail(XJMaintenanceDetail xJMaintenanceDetail);
	}
}

